// RAP [rh] AboutDialog left out for now ///******************************************************************************* // * Copyright (c) 2004, 2006 IBM Corporation and others. // * All rights reserved. This program and the accompanying materials // * are made available under the terms of the Eclipse Public License v1.0 // * which accompanies this distribution, and is available at // * http://www.eclipse.org/legal/epl-v10.html // * // * Contributors: // * IBM Corporation - initial API and implementation // *******************************************************************************/ //package org.eclipse.ui.internal.about; // //import java.util.ArrayList; //import java.util.HashMap; //import java.util.List; //import java.util.Map; // ///** // * Utility class used to associate BundleInfo's that have the same provider and // * image. The algorithm in <code>java.util.zip.CRC32</code> is used to determine // * image identity. // */ //public class AboutFeaturesButtonManager { // private Map providerMap = new HashMap(); // // private static class Key { // public String providerName; // // public Long crc; // // /** // * @param crc must not be null // */ // public Key(String providerName, Long crc) { // this.providerName = providerName; // this.crc = crc; // } // // public boolean equals(Object o) { // if (!(o instanceof Key)) { // return false; // } // Key other = (Key) o; // if (!providerName.equals(other.providerName)) { // return false; // } // return crc.equals(other.crc); // } // // public int hashCode() { // return providerName.hashCode(); // } // } // // /** // * @return true if a button should be added (i.e., the argument has an image // * and it does not already have a button) // */ // public boolean add(AboutBundleGroupData info) { // // no button for features without an image // Long crc = info.getFeatureImageCrc(); // if (crc == null) { // return false; // } // // String providerName = info.getProviderName(); // Key key = new Key(providerName, crc); // // List infoList = (List) providerMap.get(key); // if (infoList != null) { // infoList.add(info); // return false; // } // // infoList = new ArrayList(); // infoList.add(info); // providerMap.put(key, infoList); // return true; // } // // /** // * Return an array of all bundle groups that share the argument's provider and // * image. Returns an empty array if there isn't any related information. // */ // public AboutBundleGroupData[] getRelatedInfos(AboutBundleGroupData info) { // // if there's no image, then there won't be a button // Long crc = info.getFeatureImageCrc(); // if (crc == null) { // return new AboutBundleGroupData[0]; // } // // String providerName = info.getProviderName(); // Key key = new Key(providerName, crc); // // List infoList = (List) providerMap.get(key); // if (infoList == null) { // return new AboutBundleGroupData[0]; // } // // return (AboutBundleGroupData[]) infoList // .toArray(new AboutBundleGroupData[0]); // } //}